/**
 * 迭代器模式：提供一种方法顺序访问一个聚合对象中的各个元素，而又不暴露其内部的表示。
 * 
 * 示例需求：
 * 创建一个叙述导航方法的 Iterator 接口和一个返回迭代器的 Container 接口。
 * 实现了 Container 接口的实体类将负责实现 Iterator 接口。
 * 客户端SimpleMain使用实体类 NamesRepository 来打印 NamesRepository 中存储为集合的 Names。
 * 
 * 角色：
 * 迭代器接口：Iterator
 * 具体迭代器：NameIterator
 * 聚合对象接口：Container
 * 具体聚合对象类：NameRepository； 强调下：具体聚合对象类会提供需要遍历的数据
 * 客户端：SimpleMain
 */
public class SimpleMain {
    public static void main(String[] args){
       NameRepository nameRepository = new NameRepository();

       //遍历数据
       for(Iterator iterator=nameRepository.getIterator();iterator.hasNext();){
           String name = (String)iterator.next();
           System.out.println(name);
       }
    }
}